#ifndef DIRECTXDEVICE_H
#define DIRECTXDEVICE_H

//Include DirectX Engine Header
#include "DXEngine.h"

//DXDevice Class Declaration
class DXDevice
{
	public:
		//Constructors
		DXDevice (void);
		DXDevice (Window & GameWindow);
		//Destructors
		~DXDevice (void);

		//Public Methods
		BOOL Init (Window & GameWindow);
		void BeginRendering (void);
		void BeginSprite (void);
		void EndSprite (void);
		void EndRendering (void);
		void Clear (void);

		//Setters
		void SetClearColor (int Red, int Green, int Blue, int Alpha);

		//Getters
		LPDIRECT3DDEVICE9 GetDrawDevice (void);
		LPDIRECT3D9 GetDirectXDevice (void);
		LPD3DXSPRITE GetSpriteDevice (void);

	private:
		//Private Methods
		BOOL InitD3D (Window & GameWindow);
		void CleanD3D (void);

		//DirectX Members
		LPDIRECT3D9 d3d;
		LPD3DXSPRITE d3dspt;
		LPDIRECT3DDEVICE9 d3ddev;
		DWORD ClearColor;
};

#endif